import {defineConfig} from 'vite'
import vue from '@vitejs/plugin-vue'

import {resolve} from 'path'
// https://vitejs.dev/config/
export default defineConfig({
    plugins: [vue()],
    resolve: {
        alias: {
            '@': resolve(__dirname, 'src')
        }, extensions: ['.js', '.ts', '.vue']
    },
    build: {
        cssCodeSplit:false,
        sourcemap: true,
        lib: {
            entry: resolve(__dirname, 'lib/main.js'),
            name: 'WorkflowModeler', // the proper extensions will be added
            fileName: (format) => `workflow-modeler.${format}.js` // 打包后的文件名
        },
        rollupOptions: {
            // 确保外部化处理那些你不想打包进库的依赖
            external: ['vue', 'ant-design-vue', '@ant-design/icons-vue', '@ant-design/icons-svg',],
            output: {
                // 在 UMD 构建模式下为这些外部化的依赖提供一个全局变量
                globals: {
                    vue: 'Vue',
                    'ant-design-vue': 'ant-design-vue',
                    '@ant-design/icons-vue': 'iconsVue',
                    '@ant-design/icons-svg': 'iconsSvg',
                }
            }
        }
    },
    css: {
        preprocessorOptions: {
            less: {
                javascriptEnabled: true,
                additionalData: '@import "./lib/index.less";',
            }
        }
    }
})
